1. Field of the Invention
The present invention relates to network computing. More specifically, embodiments of the invention are directed to a proxy cache preloader.
2. Background Art
The Internet has made it possible for computer users to access their applications, files, and data from any web-enabled device. One type of Internet configuration where this is possible uses a local cache within a web-enabled device. The local cache is connected to the Internet.
Using a cache generally reduces access latencies and bandwidth consumption on the Internet because if the web-enabled device requests a web page from the Internet and the cache determines that the version of the web page in the cache is current, then that web page is presented to the device. This saves a potentially costly web page request across the Internet.
Updating the Proxy Cache
To ensure that a cache is utilized sufficiently, it needs to be updated periodically. For instance, if the web page in the above example is dynamically generated by Hyper Text Markup Language (HTML), in the event of infrequent updates it might become outdated every time a device requests it. In this case, the Internet must be accessed every time and the use of the cache as an intermediary is less advantageous. To this end, an intermediary might periodically refresh the contents of the cache. Refreshing its contents, however, entails bandwidth consumption on the part of the intermediary, as well, so refreshing the cache too frequently is detrimental. Thus, using prior art caches, it is difficult to satisfy both needs for having fresh data and limiting bandwidth consumption.
Eviction Policy
Due to the limited size of its memory, cache entries are typically evicted for various reasons to free-up room for other entries. For instance, when an entry is not accessed for a long time, it might be evicted. Take, for example, one situation where a user accesses a point of sale (POS) terminal and requests an applet where the applet resides on the other side of a slow wide area network (WAN) connection. The time it takes to cache the applet is prohibitively slow, but the time it takes to access the applet from the cache is very fast. If the applet is evicted too quickly, the slow WAN connection must be used again when the next request for it takes place. This is problematic.